package com.yc.cloud.admin.service;

import com.yc.cloud.admin.dto.UmsMenuNode;
import com.yc.cloud.entity.UmsMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yc.cloud.basic.dto.BaseQueryParam;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * <p>
 * 后台菜单表 服务类
 * </p>
 *
 * @author JackGu
 * @since 2022-09-11
 */
public interface UmsMenuService extends IService<UmsMenu> {

    /***
     * description:查询列表
     * @param param 查询条件
     * @return 数据信息
     */
    IPage<UmsMenu> list(BaseQueryParam param);

    /**
     * 根据管理员ID获取对应菜单
     */
    List<UmsMenu> getMenuList(Long adminId);

    /**
     * 分页查询后台菜单
     */
    IPage<UmsMenu> list(Long parentId, Integer pageSize, Integer pageNum);

    List<UmsMenu> queryByLevel(Integer level);

    int create(UmsMenu umsMenu);


    /**
     * 树形结构返回所有菜单列表
     */
    List<UmsMenuNode> treeList();

    List<UmsMenu> queryByRoleId(Long roleId);
}

